The GNU compiler provides these extensions to the C++ language (and you can also use most of the C language extensions in your C++ programs). If you want to write code that checks whether these features are available, you can test for the GNU compiler the same way as for C programs: check for a predefined macro __GNUC__ . You can also use __GNUG__ to test specifically for GNU C++ (see The GNU C Preprocessor for more information).